The present invention relates generally to the field of business process automation and more specifically to methods and apparatus of evolving shared to-do lists into business processes.
Collaborative work requires execution of tasks by members of a workgroup and communication among the members. The collaborative tasks may be in the form of a shared list of to-do tasks. Shared lists of to-dos can be found in a variety of software programs, including Lotus Notes™ and Domino™, Lotus Connections™ (http://www.lotus.com/connections), Basecamp™ software program by 37signals® (http://www.basecamphq.com/), and Microsoft Outlook™ and Microsoft Exchange™, and Microsoft Windows SharePoint Services™ by Microsoft®. Typical capabilities of the prior art programs include assigning a to-do to somebody, setting a due date, and checking it as done: but it usually does not go beyond this. No email or other communication provision is available at the completion of a task. Each to-do item typically stands alone and cannot affect other to-dos, such as changing the deadline of one item if the deadline of another changes.
A prior art method for managing and sharing a business process among multiple users includes constructing a business process as a diagrammatic connection of several tasks. The connection thus establishes a workflow for the business process; such workflow, i.e., organization of business steps, is created before the business process is executed. The diagrammatic representation and execution may be achieved in authoring tools that represent the process in a commonly used programming language, such as the Business Process Execution Language (BPEL) available at (http://www.oasis-open.org/committees/wsbpel/). The workflow is created ahead of time by people who analyze the work to be done and design a workflow and is distributed “one way” from designers of the workflow to the users of the workflow. The workflow pre-determines the steps people will take, allowing little variation. This scheme lacks the flexibility to allow users to modify the workflow to adapt to specific work situations they encounter.
Bug tracking systems such as Bugzilla™ (http://www.bugzilla.org/) are more sophisticated. In addition to being marked “done” or “not done”, a bug or an issue in a bug tracking system can usually be in one of several states, such as “fixed”, “invalid”, or “won't fix”, and there is a discussion thread associated with each item. The system e-mails any change in a bug's state to the people who submitted and were assigned to the bug, and some systems allow anyone to add themselves to the notification list. The bug tracking system can also e-mail a member of a project about any change in any bug in the whole project. However, there is little flexibility in customizing these notifications. However, no notification facility is available if a particular bug is marked “fixed” or when a bug is overdue.
Microsoft BizTalk (http://www.microsoft.com/biztalk/), a business process management server, allows the behavior of processes to be specified using either a general workflow language or through English-like rules, which state that something should happen when a certain event is detected. However, a programmer must define the vocabulary of the rules ahead of time to fit their particular application. Commercially available e-mail programs such as Microsoft Outlook (http://office.microsoft.com/outlook/) allow the user to specify rules for handling incoming mail, such as moving all messages from a particular person to a certain folder. The user interface for these rules tend to consist of a mixture of drop-down lists and text boxes, which makes it easy to create a rule but tedious to create many similar rules or copy and paste rules. An example of prior art programs is Lotus Quickr™.
One practical problem with following business processes is that users do not have opportunities to make real time changes. In addition, the prior art techniques require user to learn a new set of rules and do not allow flexibility to a user to create new rules for execution of tasks. A better approach is needed.